package qgs.zisu.javaconcurrency.javaconcurrency.chapter2;

/**
 * @Author: 蔡翔
 * @Date: 2019/9/5 20:50
 * @Version 1.0
 *
 * 如果 要 把业务数据和逻辑数据（代码的执行单元），从线程里面抽取出来。。那么久需要用Runnable 接口了。
 */
public class TicketWindowRunnable implements Runnable {
    private int index = 0;
    private final static int MAX = 50;
    // 很多线程访问的 变量 是同一份，那么这个变量存在线程安全的问题。后续解决。

    @Override
    public synchronized void run() {
        while (index <= MAX){
            System.out.println(Thread.currentThread()+" 的号码是："+(index++));

            try {
                Thread.sleep(100);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}
